Preliminaries

Descriptives

Tempo cond. Length N taps N trials Mean IOI Median IOI SD IOI Mean ITI Median ITI SD ITI
400 4 5874 1958 401.4441 401.7483 144.9944 412.3997 406.0227 159.6118
400 5 7460 1865 401.9040 402.6178 144.6322 419.8252 421.3636 160.3370
600 4 5925 1975 599.6049 598.2517 145.4408 570.2247 574.7727 161.6640
600 5 7788 1947 599.5896 598.6911 145.1265 560.9215 566.5909 162.1835

Violin plots with all conditions

G measure

Entropy

Number of small integer ratios introduced

Violin plots with only 600 ms, 5 events

Entropy

G measure

Binary/ternary introduced

Correlations between behavioural measures

Correlations with network connectivity

Fixel-based analysis (isochrony vs. partial residuals)

LS0tCnRpdGxlOiAiTlBPUjogUGxvdHMiCmF1dGhvcjogSmVsbGUgdmFuIGRlciBXZXJmZgpkYXRlOiAwOC8wOC8yMDIzCm91dHB1dDoKICAgIGh0bWxfbm90ZWJvb2s6CiAgICAgICAgY29kZV9mb2xkaW5nOiBoaWRlCiAgICAgICAgdG9jOiB0cnVlCiAgICAgICAgdG9jX2Zsb2F0OiB0cnVlCi0tLQoKCiMgUHJlbGltaW5hcmllcwoKYGBge3IgbG9hZC1wYWNrYWdlcywgZWNobyA9IEZBTFNFLCB3YXJuaW5nID0gRkFMU0UsIG1lc3NhZ2UgPSBGQUxTRX0KIyMjIyMjIyMjIyMjIyBQQUNLQUdFUyBBTkQgT1RIRVIgUFJFTElNSU5BUklFUyAjIyMjIyMjIyMjIyMKCiMgZm9yIGVhc3kgbG9hZGluZyBvZiBwYWNrYWdlcwppZiAoIXJlcXVpcmUoInBhY21hbiIpKSBpbnN0YWxsLnBhY2thZ2VzKCJwYWNtYW4iKQoKIyBsb2FkIHBhY2thZ2VzCnBfbG9hZCgKICAic3RyaW5nciIsICJpbmkiLCAiZ2RhdGEiLCAicGx5ciIsICJkcGx5ciIsICJoZXJlIiwgImdncGxvdDIiLCAicmVzaGFwZTIiLCAiZ2dzY2kiLAogICJnZ2hpZ2hsaWdodCIsICJnZ3JpZGdlcyIsICJ2aXJpZGlzIiwgIlJDb2xvckJyZXdlciIsICJsZW1vbiIsICJzY2ljbyIsICJsYXRleDJleHAiLCAiR0dhbGx5IiwgImthYmxlRXh0cmEiLAogICJjb3dwbG90IiwgInJtYXRpbyIKKQoKIyBmb3IgcmVsYXRpdmUgZmlsZSBwYXRocyAoZS5nLiBoZXJlKCdJbnB1dCcsICdmaWxlLmNzdicpKQpoZXJlOjppX2FtKGZpbGUucGF0aCgic2NyaXB0cyIsICJwbG90cyIsICJiZWhhdmlvdXJhbC5SbWQiKSkKCnNvdXJjZShoZXJlKCJzY3JpcHRzIiwgImN1c3RvbV9nZ3Bsb3RfdGhlbWUuUiIpKQoKIyBLbml0ciBvdXRwdXQgc2V0dGluZ3MKa25pdHI6Om9wdHNfY2h1bmskc2V0KAogIGVjaG8gPSBGQUxTRSwKICB3YXJuaW5nID0gRkFMU0UsCiAgbWVzc2FnZSA9IEZBTFNFLAogIG91dC53aWR0aCA9ICIxMDAlIiwKICBmaWcud2lkdGggPSAxMCwKICBmaWcuaGVpZ2h0ID0gMTAsCiAgY2FjaGUgPSBUUlVFCikKCmxhYmVscyA8LSBhc19sYWJlbGxlcihjKAogICI0MDAiID0gIjQwMCBtcyIsCiAgIjYwMCIgPSAiNjAwIG1zIiwKICAiNCIgPSAiNCBldmVudHMiLAogICI1IiA9ICI1IGV2ZW50cyIKKSkKYGBgCgoKYGBge3IgbG9hZC1kYXRhfQpJVElzIDwtIHJlYWQuY3N2KGhlcmUoImRhdGEiLCAiZXhwZXJpbWVudCIsICJwcm9jZXNzZWQiLCAiSVRJcy5jc3YiKSkKSVRJcy5ieXRyaWFsIDwtIHJlYWQuY3N2KGhlcmUoImRhdGEiLCAiZXhwZXJpbWVudCIsICJwcm9jZXNzZWQiLCAiSVRJc19ieXRyaWFsLmNzdiIpKQpwcC5tZWFzdXJlcyA8LSByZWFkLmNzdihoZXJlKCJkYXRhIiwgImV4cGVyaW1lbnQiLCAicHJvY2Vzc2VkIiwgInBwX21lYXN1cmVzLmNzdiIpKQppbnRlcnZhbC5yYXRpb3MgPC0gcmVhZC5jc3YoaGVyZSgiZGF0YSIsICJleHBlcmltZW50IiwgInByb2Nlc3NlZCIsICJyYXRpb3NfaW50cm9kdWNlZC5jc3YiKSkKCmNvcnJlbGF0aW9ucyA8LSBhcy5kYXRhLmZyYW1lKGxpc3QoCiAgImJpbmFyeV90ZXJuYXJ5X2JlaGF2IiA9IHJlYWQubWF0KGhlcmUoImRhdGEiLCAiYnJhaW4iLCAiY29ycmVsYXRpb25zIiwgImJpbmFyeV9vcl90ZXJuYXJ5X2ludHJvZHVjZWRfYWxsX2JlaGF2Lm1hdCIpKSRhbGxfYmVoYXYsCiAgImJpbmFyeV90ZXJuYXJ5X2Nvbm4iID0gcmVhZC5tYXQoaGVyZSgiZGF0YSIsICJicmFpbiIsICJjb3JyZWxhdGlvbnMiLCAiYmluYXJ5X29yX3Rlcm5hcnlfaW50cm9kdWNlZF9OZWdDb25uU3RyZW5ndGgubWF0IikpJHRyYWluX3N1bW5lZywKICAiYmluYXJ5X3Rlcm5hcnlfc3RydWN0IiA9IHJlYWQubWF0KGhlcmUoImRhdGEiLCAiYnJhaW4iLCAiY29ycmVsYXRpb25zIiwgImJpbmFyeV9vcl90ZXJuYXJ5X2ludHJvZHVjZWRfc3RydWN0dXJhbF9OZWdDb25uU3RyZW5ndGgubWF0IikpJHRyYWluX3N1bW5lZywKICAiZW50cm9weV9iZWhhdiIgPSByZWFkLm1hdChoZXJlKCJkYXRhIiwgImJyYWluIiwgImNvcnJlbGF0aW9ucyIsICJlbnRyb3B5RGlmZl9hbGxfYmVoYXYubWF0IikpJGFsbF9iZWhhdiwKICAiZW50cm9weV9jb25uIiA9IHJlYWQubWF0KGhlcmUoImRhdGEiLCAiYnJhaW4iLCAiY29ycmVsYXRpb25zIiwgImVudHJvcHlEaWZmX05lZ0Nvbm5TdHJlbmd0aC5tYXQiKSkkdHJhaW5fc3VtbmVnLAogICJHX2JlaGF2IiA9IHJlYWQubWF0KGhlcmUoImRhdGEiLCAiYnJhaW4iLCAiY29ycmVsYXRpb25zIiwgIkdyZXNwb25zZV9hbGxfYmVoYXYubWF0IikpJGFsbF9iZWhhdiwKICAiR19jb25uIiA9IHJlYWQubWF0KGhlcmUoImRhdGEiLCAiYnJhaW4iLCAiY29ycmVsYXRpb25zIiwgIkdyZXNwb25zZV9OZWdDb25uU3RyZW5ndGgubWF0IikpJHRyYWluX3N1bW5lZwopKQpgYGAKCmBgYHtyIGRhdGF0eXBlc30KcHAubWVhc3VyZXMkcHBfaWRfYmVoYXYgPC0gYXMuZmFjdG9yKHBwLm1lYXN1cmVzJHBwX2lkX2JlaGF2KQpwcC5tZWFzdXJlcyRzdGltX3RlbXBvX2ludGVuZGVkIDwtIGFzLmZhY3RvcihwcC5tZWFzdXJlcyRzdGltX3RlbXBvX2ludGVuZGVkKQpwcC5tZWFzdXJlcyRsZW5ndGggPC0gYXMuZmFjdG9yKHBwLm1lYXN1cmVzJGxlbmd0aCkKCnBwLm1lYXN1cmVzJGNvbmRpdGlvbiA8LSBhcy5mYWN0b3IocGFzdGUocHAubWVhc3VyZXMkc3RpbV90ZW1wb19pbnRlbmRlZCwgcHAubWVhc3VyZXMkbGVuZ3RoLCBzZXAgPSAiXyIpKQoKCklUSXMkcHBfaWRfYmVoYXYgPC0gYXMuZmFjdG9yKElUSXMkcHBfaWRfYmVoYXYpCklUSXMkY29uZGl0aW9uIDwtIGFzLmZhY3RvcihwYXN0ZShJVElzJHN0aW1fdGVtcG9faW50ZW5kZWQsIElUSXMkbGVuZ3RoLCBzZXAgPSAiXyIpKQoKSVRJcy5ieXRyaWFsJGNvbmRpdGlvbiA8LSBhcy5mYWN0b3IocGFzdGUoSVRJcy5ieXRyaWFsJHN0aW1fdGVtcG9faW50ZW5kZWQsIElUSXMuYnl0cmlhbCRsZW5ndGgsIHNlcCA9ICJfIikpCklUSXMuYnl0cmlhbCRwcF9pZF9iZWhhdiA8LSBhcy5mYWN0b3IoSVRJcy5ieXRyaWFsJHBwX2lkX2JlaGF2KQpgYGAKCgojIERlc2NyaXB0aXZlcwoKYGBge3IgdGFibGV9CmRlc2NyaXB0aXZlcy50YWJsZSA8LSBkZHBseShJVElzLCAuKHN0aW1fdGVtcG9faW50ZW5kZWQsIGxlbmd0aCksIHN1bW1hcml6ZSwKICBuX3RhcHMgPSBsZW5ndGgocmVzcF9pdGkpLAogIG5fdHJpYWxzID0gbGVuZ3RoKHVuaXF1ZShzZXF1ZW5jZV9pZCkpLAogIG1lYW5faW9pID0gbWVhbihzdGltX2lvaSksCiAgbWVkaWFuX2lvaSA9IG1lZGlhbihzdGltX2lvaSksCiAgc2RfaW9pID0gc2Qoc3RpbV9pb2kpLAogIG1lYW5faXRpID0gbWVhbihyZXNwX2l0aSksCiAgbWVkaWFuX2l0aSA9IG1lZGlhbihyZXNwX2l0aSksCiAgc2RfaXRpID0gc2QocmVzcF9pdGkpLAopCgpsYWJlbHNfdGFibGUxIDwtIGMoIlRlbXBvIGNvbmQuIiwgIkxlbmd0aCIsICJOIHRhcHMiLCAiTiB0cmlhbHMiLCAiTWVhbiBJT0kiLCAiTWVkaWFuIElPSSIsICJTRCBJT0kiLCAiTWVhbiBJVEkiLCAiTWVkaWFuIElUSSIsICJTRCBJVEkiKQoKCiMga2FibGUKa2FibGUoZGVzY3JpcHRpdmVzLnRhYmxlLCBjb2wubmFtZXMgPSBsYWJlbHNfdGFibGUxKSAlPiUga2FibGVfc3R5bGluZyhib290c3RyYXBfb3B0aW9ucyA9IGMoInN0cmlwZWQiLCAiaG92ZXIiLCAiY29uZGVuc2VkIiwgInJlc3BvbnNpdmUiKSkKYGBgCgojIFZpb2xpbiBwbG90cyB3aXRoIGFsbCBjb25kaXRpb25zCgoKIyMgRyBtZWFzdXJlCgpgYGB7ciBnLXNjb3JlfQpnZ3Bsb3QocHAubWVhc3VyZXMsIGFlcyh4ID0gY29uZGl0aW9uLCB5ID0gR19yZXNwLCBmaWxsID0gY29uZGl0aW9uLCBjb2xvdXIgPSBjb25kaXRpb24pKSArCiAgZ2VvbV92aW9saW4oYWxwaGEgPSAwLjcsIHNob3cubGVnZW5kID0gRkFMU0UpICsKICBnZW9tX3BvaW50KHNpemUgPSAxLCBzaG93LmxlZ2VuZCA9IEZBTFNFLCBjb2xvdXIgPSAiYmxhY2siLCBhbHBoYSA9IDAuMykgKwogIHNjYWxlX3hfZGlzY3JldGUobGFiZWxzID0gYygKICAgICI0MDBfNCIgPSAiNDAwIG1zXG40IGV2ZW50cyIsCiAgICAiNDAwXzUiID0gIjQwMCBtc1xuNSBldmVudHMiLAogICAgIjYwMF80IiA9ICI2MDAgbXNcbjQgZXZlbnRzIiwKICAgICI2MDBfNSIgPSAiNjAwIG1zXG41IGV2ZW50cyIKICApKSArCiAgc3RhdF9zdW1tYXJ5KGdlb20gPSAicG9pbnRyYW5nZSIsIHNpemUgPSAxLCBsaW5ld2lkdGggPSAxLjUsIGNvbG91ciA9ICJibGFjayIsIHNob3cubGVnZW5kID0gRkFMU0UpICsKICB0aGVtZV9ucG9yKCkgKwogIGxhYnMoCiAgICB4ID0gIkNvbmRpdGlvbiIsCiAgICB5ID0gZXhwcmVzc2lvbihpdGFsaWMoRykgfiBtZWFzdXJlKSwKICAgIHRpdGxlID0gIkdyYW1tYXRpY2FsIHJlZHVuZGFuY3kgYnkgY29uZGl0aW9uIiwKICAgIHN1YnRpdGxlID0gIkhpZ2hlciB2YWx1ZXMgbWVhbiBtb3JlIGdyYW1tYXRpY2FsIHJlZHVuZGFuY3kiLAogICAgY2FwdGlvbiA9ICJJbnRlcnByZXRhdGlvbjogTGV0J3Mgc2F5IGEgcGFydGljaXBhbnQgYWx3YXlzIHRhcHMgYSBxdWFydGVybm90ZSBhbmQgdGhlbiBhbiBlaWdodGggbm90ZS4KVGhpcyBtZWFucyB0aGUgcXVhcnRlcm5vdGUtZWlnaHRoIG5vdGUgY29tYmluYXRpb24gaXMgcmVkdW5kYW50LCBhcyBpdCBjb3VsZCBoYXZlIGJlZW4Kb25lIHN5bWJvbCwgc28gRyBpcyBoaWdoZXIuIFRoZSBtb3JlIGRpZmZlcmVudCBjb21iaW5hdGlvbnMgb2Ygc3ltYm9scyBhIHBhcnRpY2lwYW50IHVzZXMsCnRoZSBsb3dlciB0aGUgRyBzY29yZS4iCiAgKSArCiAgdGhlbWUocGxvdC5jYXB0aW9uID0gZWxlbWVudF90ZXh0KGhqdXN0ID0gMCkpCgoKCmdnc2F2ZShoZXJlKCJwbG90cyIsICJiZWhhdmlvdXJhbF9tZWFzdXJlcyIsICJHLnBkZiIpKQpgYGAKCgojIyBFbnRyb3B5CgpgYGB7ciBlbnRyb3B5LWFsbH0KZ2dwbG90KHBwLm1lYXN1cmVzLCBhZXMoeCA9IGNvbmRpdGlvbiwgeSA9IGVudHJvcHlfZGlmZl9ub3JtX3FfYXZnLCBmaWxsID0gY29uZGl0aW9uLCBjb2xvdXIgPSBjb25kaXRpb24pKSArCiAgZ2VvbV92aW9saW4oYWxwaGEgPSAwLjcsIHNob3cubGVnZW5kID0gRkFMU0UpICsKICBnZW9tX3BvaW50KHNpemUgPSAxLCBzaG93LmxlZ2VuZCA9IEZBTFNFLCBjb2xvdXIgPSAiYmxhY2siLCBhbHBoYSA9IDAuMykgKwogIHNjYWxlX3hfZGlzY3JldGUobGFiZWxzID0gYygKICAgICI0MDBfNCIgPSAiNDAwIG1zXG40IGV2ZW50cyIsCiAgICAiNDAwXzUiID0gIjQwMCBtc1xuNSBldmVudHMiLAogICAgIjYwMF80IiA9ICI2MDAgbXNcbjQgZXZlbnRzIiwKICAgICI2MDBfNSIgPSAiNjAwIG1zXG41IGV2ZW50cyIKICApKSArCiAgc3RhdF9zdW1tYXJ5KGdlb20gPSAicG9pbnRyYW5nZSIsIHNpemUgPSAxLCBsaW5ld2lkdGggPSAxLjUsIGNvbG91ciA9ICJibGFjayIsIHNob3cubGVnZW5kID0gRkFMU0UpICsKICB0aGVtZV9ucG9yKCkgKwogIGxhYnMoCiAgICB5ID0gIkVudHJvcHkgZGlmZmVyZW5jZSIsIHRpdGxlID0gIkVudHJvcHkgZGlmZmVyZW5jZSBieSBwYXJ0aWNpcGFudCBhbmQgY29uZGl0aW9uIiwKICAgIHN1YnRpdGxlID0gIk5lZ2F0aXZlIHZhbHVlcyBtZWFuIHBhcnRpY2lwYW50cyBkZWNyZWFzZWQgZW50cm9weSIsIGNvbG91ciA9ICJQYXJ0aWNpcGFudCIKICApCmdnc2F2ZShoZXJlKCJwbG90cyIsICJiZWhhdmlvdXJhbF9tZWFzdXJlcyIsICJlbnRyb3B5LnBkZiIpKQpgYGAKCiMjIE51bWJlciBvZiBzbWFsbCBpbnRlZ2VyIHJhdGlvcyBpbnRyb2R1Y2VkCgpgYGB7ciBzaW1wbGUtaW50ZWdlcnN9CmdncGxvdChwcC5tZWFzdXJlcywgYWVzKAogIHggPSBjb25kaXRpb24sCiAgeSA9IGlzb2Nocm9ueV9pbnRyb2R1Y2VkLAogIGNvbG91ciA9IGNvbmRpdGlvbiwgZmlsbCA9IGNvbmRpdGlvbgopKSArCiAgc3RhdF9zdW1tYXJ5KGdlb20gPSAicG9pbnRyYW5nZSIsIHNpemUgPSAxLCBsaW5ld2lkdGggPSAxLjUsIGNvbG91ciA9ICJibGFjayIsIHNob3cubGVnZW5kID0gRkFMU0UpICsKICBnZW9tX3Zpb2xpbihhbHBoYSA9IDAuNywgc2hvdy5sZWdlbmQgPSBGQUxTRSkgKwogIGdlb21fcG9pbnQoc2l6ZSA9IDEsIHNob3cubGVnZW5kID0gRkFMU0UsIGNvbG91ciA9ICJibGFjayIsIGFscGhhID0gMC4zKSArCiAgc2NhbGVfeF9kaXNjcmV0ZShsYWJlbHMgPSBjKAogICAgIjQwMF80IiA9ICI0MDAgbXNcbjQgZXZlbnRzIiwKICAgICI0MDBfNSIgPSAiNDAwIG1zXG41IGV2ZW50cyIsCiAgICAiNjAwXzQiID0gIjYwMCBtc1xuNCBldmVudHMiLAogICAgIjYwMF81IiA9ICI2MDAgbXNcbjUgZXZlbnRzIgogICkpICsKICBsYWJzKAogICAgeCA9ICJDb25kaXRpb24iLCB5ID0gIklzb2Nocm9ub3VzIHJhdGlvcyBpbnRyb2R1Y2VkIiwKICAgIHRpdGxlID0gIklzb2Nocm9ub3VzIHJhdGlvcyBpbnRyb2R1Y2VkIGJ5IHBhcnRpY2lwYW50IGJ5IGNvbmRpdGlvbiAobm9ybWFsaXplZCBjb3VudHMpIiwKICAgIHN1YnRpdGxlID0gIk5lZ2F0aXZlIHZhbHVlcyBtZWFuIGEgcmVkdWN0aW9uIG9mIGlzb2Nocm9ueSBmcm9tIHN0aW11bHVzIHRvIHJlc3BvbnNlIiwKICApICsKICB0aGVtZV9ucG9yKCkKCmdnc2F2ZShoZXJlKCJwbG90cyIsICJiZWhhdmlvdXJhbF9tZWFzdXJlcyIsICJpc29jaHJvbnkucGRmIikpCgpnZ3Bsb3QocHAubWVhc3VyZXMsIGFlcygKICB4ID0gY29uZGl0aW9uLAogIHkgPSBiaW5hcnlfb3JfdGVybmFyeV9pbnRyb2R1Y2VkLAogIGNvbG91ciA9IGNvbmRpdGlvbiwgZmlsbCA9IGNvbmRpdGlvbgopKSArCiAgc3RhdF9zdW1tYXJ5KGdlb20gPSAicG9pbnRyYW5nZSIsIHNpemUgPSAxLCBsaW5ld2lkdGggPSAxLjUsIGNvbG91ciA9ICJibGFjayIsIHNob3cubGVnZW5kID0gRkFMU0UpICsKICBnZW9tX3Zpb2xpbihhbHBoYSA9IDAuNywgc2hvdy5sZWdlbmQgPSBGQUxTRSkgKwogIGdlb21fcG9pbnQoc2l6ZSA9IDEsIHNob3cubGVnZW5kID0gRkFMU0UsIGNvbG91ciA9ICJibGFjayIsIGFscGhhID0gMC4zKSArCiAgc2NhbGVfeF9kaXNjcmV0ZShsYWJlbHMgPSBjKAogICAgIjQwMF80IiA9ICI0MDAgbXNcbjQgZXZlbnRzIiwKICAgICI0MDBfNSIgPSAiNDAwIG1zXG41IGV2ZW50cyIsCiAgICAiNjAwXzQiID0gIjYwMCBtc1xuNCBldmVudHMiLAogICAgIjYwMF81IiA9ICI2MDAgbXNcbjUgZXZlbnRzIgogICkpICsKICBsYWJzKAogICAgeCA9ICJDb25kaXRpb24iLCB5ID0gIkJpbmFyeSBhbmQgdGVybmFyeSByYXRpb3MgaW50cm9kdWNlZCAobm9ybWFsaXplZCBjb3VudHMpIiwKICAgIHRpdGxlID0gIkJpbmFyeSBhbmQgdGVybmFyeSByYXRpb3MgaW50cm9kdWNlZCBieSBwYXJ0aWNpcGFudCBieSBjb25kaXRpb24iLAogICAgc3VidGl0bGUgPSAiTmVnYXRpdmUgdmFsdWVzIG1lYW4gYSBnZW5lcmFsIHJlZHVjdGlvbiBvZiBiaW5hcnkgb3IgdGVybmFyeSByYXRpb3MgZnJvbSBzdGltdWx1cyB0byByZXNwb25zZSIsCiAgKSArCiAgdGhlbWVfbnBvcigpCgpnZ3NhdmUoaGVyZSgicGxvdHMiLCAiYmVoYXZpb3VyYWxfbWVhc3VyZXMiLCAiYmluYXJ5X3Rlcm5hcnkucGRmIikpCmBgYAoKCiMgVmlvbGluIHBsb3RzIHdpdGggb25seSA2MDAgbXMsIDUgZXZlbnRzCgoKIyMgRW50cm9weQoKYGBge3IgZW50cm9weS1wdWJ9CmdncGxvdChwcC5tZWFzdXJlc1twcC5tZWFzdXJlcyRjb25kaXRpb24gPT0gIjYwMF81IiwgXSwgYWVzKHggPSAiMSIsIHkgPSBlbnRyb3B5X2RpZmZfbm9ybV9xX2F2ZywgZmlsbCA9ICIxIikpICsKICBnZW9tX3Zpb2xpbihhbHBoYSA9IDEsIHNob3cubGVnZW5kID0gRkFMU0UsIGxpbmV3aWR0aCA9IDApICsKICBnZW9tX2JveHBsb3Qod2lkdGggPSAwLjEsIHNob3cubGVnZW5kID0gRkFMU0UsIGxpbmV3aWR0aCA9IDEuMSwgY29sb3VyID0gIndoaXRlIikgKwogIGdlb21fcG9pbnQoc2hvdy5sZWdlbmQgPSBGQUxTRSwgY29sb3VyID0gIndoaXRlIiwgc2l6ZSA9IDMsIHBvc2l0aW9uID0gcG9zaXRpb25faml0dGVyKHdpZHRoID0gMC4wMikpICsKICB0aGVtZV9ucG9yKCkgKwogIHNjYWxlX2ZpbGxfbWFudWFsKHZhbHVlcyA9IG5wb3JfY29sb3VycyRlbnRyb3B5KSArCiAgZ2VvbV9obGluZSh5aW50ZXJjZXB0ID0gMCwgbGluZXR5cGUgPSAiZGFzaGVkIiwgY29sb3VyID0gImJsYWNrIiwgbGluZXR5cGUgPSAiZGFzaGVkIiwgbGluZXdpZHRoID0gMS41KSArCiAgdGhlbWUoCiAgICBheGlzLnRleHQueSA9IGVsZW1lbnRfdGV4dChzaXplID0gMjQpLAogICAgYXhpcy50ZXh0LnggPSBlbGVtZW50X2JsYW5rKCksCiAgICBheGlzLnRpdGxlLnggPSBlbGVtZW50X2JsYW5rKCksCiAgICBwYW5lbC5ncmlkLm1ham9yLnkgPSBlbGVtZW50X2JsYW5rKCksCiAgICBheGlzLnRpY2tzLnguYm90dG9tID0gZWxlbWVudF9ibGFuaygpLAogICkgKwogIGxhYnModGl0bGUgPSAiIiwgeSA9ICIiKSArCiAgY29vcmRfY2FydGVzaWFuKHlsaW0gPSBjKAogICAgbWluKHBwLm1lYXN1cmVzJGVudHJvcHlfZGlmZl9ub3JtX3FfYXZnW3BwLm1lYXN1cmVzJGNvbmRpdGlvbiA9PSAiNjAwXzUiXSksCiAgICBhYnMobWluKHBwLm1lYXN1cmVzJGVudHJvcHlfZGlmZl9ub3JtX3FfYXZnW3BwLm1lYXN1cmVzJGNvbmRpdGlvbiA9PSAiNjAwXzUiXSkpCiAgKSkgKwogIHNjYWxlX3lfY29udGludW91cyhicmVha3MgPSBjKC0wLjMsIC0wLjIsIC0wLjEsIDAsIDAuMSwgMC4yKSkKCgoKZ2dzYXZlKGhlcmUoInBsb3RzIiwgImJlaGF2aW91cmFsX21lYXN1cmVzIiwgImVudHJvcHlfNjAwNS5wZGYiKSkKYGBgCgojIyBHIG1lYXN1cmUKCmBgYHtyIEctcHVifQpnZ3Bsb3QocHAubWVhc3VyZXNbcHAubWVhc3VyZXMkY29uZGl0aW9uID09ICI2MDBfNSIsIF0sIGFlcyh4ID0gIjEiLCB5ID0gR19yZXNwLCBmaWxsID0gIjEiKSkgKwogIGdlb21fdmlvbGluKGFscGhhID0gMSwgc2hvdy5sZWdlbmQgPSBGQUxTRSwgbGluZXdpZHRoID0gMCkgKwogIGdlb21fYm94cGxvdCh3aWR0aCA9IDAuMSwgc2hvdy5sZWdlbmQgPSBGQUxTRSwgbGluZXdpZHRoID0gMS4xLCBjb2xvdXIgPSAid2hpdGUiKSArCiAgZ2VvbV9wb2ludChzaG93LmxlZ2VuZCA9IEZBTFNFLCBjb2xvdXIgPSAid2hpdGUiLCBzaXplID0gMywgcG9zaXRpb24gPSBwb3NpdGlvbl9qaXR0ZXIod2lkdGggPSAwLjAyKSkgKwogIHRoZW1lX25wb3IoKSArCiAgc2NhbGVfZmlsbF9tYW51YWwodmFsdWVzID0gbnBvcl9jb2xvdXJzJEcpICsKICBnZW9tX2hsaW5lKHlpbnRlcmNlcHQgPSAwLCBsaW5ldHlwZSA9ICJkYXNoZWQiLCBjb2xvdXIgPSAiYmxhY2siLCBsaW5ldHlwZSA9ICJkYXNoZWQiLCBsaW5ld2lkdGggPSAxLjUpICsKICB0aGVtZSgKICAgIGF4aXMudGV4dC55ID0gZWxlbWVudF90ZXh0KHNpemUgPSAyNCksCiAgICBheGlzLnRleHQueCA9IGVsZW1lbnRfYmxhbmsoKSwKICAgIGF4aXMudGl0bGUueCA9IGVsZW1lbnRfYmxhbmsoKSwKICAgIHBhbmVsLmdyaWQubWFqb3IueSA9IGVsZW1lbnRfYmxhbmsoKSwKICAgIGF4aXMudGlja3MueC5ib3R0b20gPSBlbGVtZW50X2JsYW5rKCksCiAgKSArCiAgbGFicyh0aXRsZSA9ICIiLCB5ID0gIiIsIHggPSAiIikgKwogIGNvb3JkX2NhcnRlc2lhbih5bGltID0gYygtbWF4KHBwLm1lYXN1cmVzJEdfcmVzcFtwcC5tZWFzdXJlcyRjb25kaXRpb24gPT0gIjYwMF81Il0pLCBtYXgocHAubWVhc3VyZXMkR19yZXNwW3BwLm1lYXN1cmVzJGNvbmRpdGlvbiA9PSAiNjAwXzUiXSkpKSArCiAgc2NhbGVfeV9jb250aW51b3VzKGJyZWFrcyA9IGMoMCwgMC4xLCAwLjIpKQoKCgpnZ3NhdmUoaGVyZSgicGxvdHMiLCAiYmVoYXZpb3VyYWxfbWVhc3VyZXMiLCAiR182MDA1LnBkZiIpKQpgYGAKCiMjIEJpbmFyeS90ZXJuYXJ5IGludHJvZHVjZWQKCmBgYHtyIGJpbmFyeS10ZXJuYXJ5LXB1Yn0KZ2dwbG90KHBwLm1lYXN1cmVzW3BwLm1lYXN1cmVzJGNvbmRpdGlvbiA9PSAiNjAwXzUiLCBdLCBhZXMoeCA9ICIxIiwgeSA9IGJpbmFyeV9vcl90ZXJuYXJ5X2ludHJvZHVjZWQsIGZpbGwgPSAiMSIpKSArCiAgZ2VvbV92aW9saW4oYWxwaGEgPSAxLCBzaG93LmxlZ2VuZCA9IEZBTFNFLCBsaW5ld2lkdGggPSAwKSArCiAgZ2VvbV9ib3hwbG90KHdpZHRoID0gMC4xLCBzaG93LmxlZ2VuZCA9IEZBTFNFLCBsaW5ld2lkdGggPSAxLjEsIGNvbG91ciA9ICJ3aGl0ZSIpICsKICBnZW9tX3BvaW50KHNob3cubGVnZW5kID0gRkFMU0UsIGNvbG91ciA9ICJ3aGl0ZSIsIHNpemUgPSAzLCBwb3NpdGlvbiA9IHBvc2l0aW9uX2ppdHRlcih3aWR0aCA9IDAuMDIpKSArCiAgdGhlbWVfbnBvcigpICsKICBzY2FsZV9maWxsX21hbnVhbCh2YWx1ZXMgPSBucG9yX2NvbG91cnMkYmluYXJ5X3Rlcm5hcnkpICsKICBnZW9tX2hsaW5lKHlpbnRlcmNlcHQgPSAwLCBsaW5ldHlwZSA9ICJkYXNoZWQiLCBjb2xvdXIgPSAiYmxhY2siLCBsaW5ldHlwZSA9ICJkYXNoZWQiLCBsaW5ld2lkdGggPSAxLjUpICsKICB0aGVtZSgKICAgIGF4aXMudGV4dC55ID0gZWxlbWVudF90ZXh0KHNpemUgPSAyNCksCiAgICBheGlzLnRleHQueCA9IGVsZW1lbnRfYmxhbmsoKSwKICAgIGF4aXMudGl0bGUueCA9IGVsZW1lbnRfYmxhbmsoKSwKICAgIHBhbmVsLmdyaWQubWFqb3IueSA9IGVsZW1lbnRfYmxhbmsoKSwKICAgIGF4aXMudGlja3MueC5ib3R0b20gPSBlbGVtZW50X2JsYW5rKCksCiAgKSArCiAgbGFicyh0aXRsZSA9ICIiLCB5ID0gIiIsIHggPSAiIikgKwogIGNvb3JkX2NhcnRlc2lhbih5bGltID0gYygKICAgIC1tYXgocHAubWVhc3VyZXMkYmluYXJ5X29yX3Rlcm5hcnlfaW50cm9kdWNlZFtwcC5tZWFzdXJlcyRjb25kaXRpb24gPT0gIjYwMF81Il0pLAogICAgbWF4KHBwLm1lYXN1cmVzJGJpbmFyeV9vcl90ZXJuYXJ5X2ludHJvZHVjZWRbcHAubWVhc3VyZXMkY29uZGl0aW9uID09ICI2MDBfNSJdKQogICkpCgoKCmdnc2F2ZShoZXJlKCJwbG90cyIsICJiZWhhdmlvdXJhbF9tZWFzdXJlcyIsICJiaW5hcnlfdGVybmFyeV82MDA1LnBkZiIpKQpgYGAKCmBgYHtyIGlzb2Nocm9ueS1wdWJ9CmdncGxvdChwcC5tZWFzdXJlc1twcC5tZWFzdXJlcyRjb25kaXRpb24gPT0gIjYwMF81IiwgXSwgYWVzKHggPSAiMSIsIHkgPSBpc29jaHJvbnlfaW50cm9kdWNlZCwgZmlsbCA9ICIxIikpICsKICBnZW9tX3Zpb2xpbihhbHBoYSA9IDEsIHNob3cubGVnZW5kID0gRkFMU0UsIGxpbmV3aWR0aCA9IDApICsKICBnZW9tX2JveHBsb3Qod2lkdGggPSAwLjEsIHNob3cubGVnZW5kID0gRkFMU0UsIGxpbmV3aWR0aCA9IDEuMSwgY29sb3VyID0gIndoaXRlIikgKwogIGdlb21fcG9pbnQoc2hvdy5sZWdlbmQgPSBGQUxTRSwgY29sb3VyID0gIndoaXRlIiwgc2l6ZSA9IDMsIHBvc2l0aW9uID0gcG9zaXRpb25faml0dGVyKHdpZHRoID0gMC4wMikpICsKICB0aGVtZV9ucG9yKCkgKwogIHNjYWxlX2ZpbGxfbWFudWFsKHZhbHVlcyA9IG5wb3JfY29sb3VycyRpc29jaHJvbnkpICsKICBnZW9tX2hsaW5lKHlpbnRlcmNlcHQgPSAwLCBsaW5ldHlwZSA9ICJkYXNoZWQiLCBjb2xvdXIgPSAiYmxhY2siLCBsaW5ldHlwZSA9ICJkYXNoZWQiLCBsaW5ld2lkdGggPSAxLjUpICsKICB0aGVtZSgKICAgIGF4aXMudGV4dC55ID0gZWxlbWVudF90ZXh0KHNpemUgPSAyNCksCiAgICBheGlzLnRleHQueCA9IGVsZW1lbnRfYmxhbmsoKSwKICAgIGF4aXMudGl0bGUueCA9IGVsZW1lbnRfYmxhbmsoKSwKICAgIHBhbmVsLmdyaWQubWFqb3IueSA9IGVsZW1lbnRfYmxhbmsoKSwKICAgIGF4aXMudGlja3MueC5ib3R0b20gPSBlbGVtZW50X2JsYW5rKCksCiAgKSArCiAgbGFicyh0aXRsZSA9ICIiLCB5ID0gIiIsIHggPSAiIikgKwogIGNvb3JkX2NhcnRlc2lhbih5bGltID0gYygKICAgIC1tYXgocHAubWVhc3VyZXMkaXNvY2hyb255X2ludHJvZHVjZWRbcHAubWVhc3VyZXMkY29uZGl0aW9uID09ICI2MDBfNSJdKSwKICAgIG1heChwcC5tZWFzdXJlcyRpc29jaHJvbnlfaW50cm9kdWNlZFtwcC5tZWFzdXJlcyRjb25kaXRpb24gPT0gIjYwMF81Il0pCiAgKSkKCgoKZ2dzYXZlKGhlcmUoInBsb3RzIiwgImJlaGF2aW91cmFsX21lYXN1cmVzIiwgImlzb2Nocm9ueV82MDA1LnBkZiIpKQpgYGAKCgoKCiMgQ29ycmVsYXRpb25zIGJldHdlZW4gYmVoYXZpb3VyYWwgbWVhc3VyZXMKCgpgYGB7ciBjb3JyZWxhdGlvbnN9CmxhYmVscyA8LSBhc19sYWJlbGxlcihjKAogICJHX3Jlc3AiID0gIkcgKHJlc3BvbnNlKSIsCiAgImVudHJvcHlfZGlmZl9ub3JtX3FfYXZnIiA9ICJFbnRyb3B5IGRpZmZlcmVuY2UiLAogICJpc29jaHJvbnlfaW50cm9kdWNlZCIgPSAiSXNvY2hyb255IGludHJvZHVjZWQiLAogICJiaW5hcnlfb3JfdGVybmFyeV9pbnRyb2R1Y2VkIiA9ICJCaW5hcnkvdGVybmFyeVxuaW50cm9kdWNlZCIsCiAgImVkaXRfZGlzdGFuY2Vfbm9ybV9xX2F2ZyIgPSAiRWRpdFxuKExldmVuc2h0ZWluKSBkaXN0YW5jZSIKKSkKCnBwLm1lYXN1cmVzLmNvciA8LSBwcC5tZWFzdXJlcwoKbGV2ZWxzKAogIHBwLm1lYXN1cmVzLmNvciRjb25kaXRpb24KKSA8LSBjKCI0MDAgbXMgKDQpIiwgIjQwMCBtcyAoNSkiLCAiNjAwIG1zICg0KSIsICI2MDAgbXMgKDUpIikKCiMgU2NhdHRlcnBsb3RzIHdpdGggY29tYmluYXRpb25zIGJldHdlZW4gYWxsIG1lYXN1cmVzCmdncGxvdDI6OnRoZW1lX3NldCh0aGVtZV9taW5pbWFsKCkpCnAgPC0gZ2dwYWlycygKICBwcC5tZWFzdXJlcy5jb3IsCiAgY29sdW1ucyA9IGMoCiAgICAiR19yZXNwIiwgImVudHJvcHlfZGlmZl9ub3JtX3FfYXZnIiwgImlzb2Nocm9ueV9pbnRyb2R1Y2VkIiwgImJpbmFyeV9vcl90ZXJuYXJ5X2ludHJvZHVjZWQiLCAiZWRpdF9kaXN0YW5jZV9ub3JtX3FfYXZnIgogICksCiAgdGl0bGUgPSAiQ29ycmVsYXRpb25zIGJldHdlZW4gYmVoYXZpb3JhbCBtZWFzdXJlcyIsCiAgbGFiZWxsZXIgPSBsYWJlbHMsCiAgbWFwcGluZyA9IGFlcyhjb2xvdXIgPSBjb25kaXRpb24sIGZpbGwgPSBjb25kaXRpb24sIGFscGhhID0gMSwgbGFiZWxfY29sb3IgPSBjb25kaXRpb24pCikgKyBzY2ljbzo6c2NhbGVfZmlsbF9zY2ljb19kKHBhbGV0dGUgPSAiYmVybGluIiwgYmVnaW4gPSAwLjEsIGVuZCA9IDEpICsgc2NpY286OnNjYWxlX2NvbG9yX3NjaWNvX2QocGFsZXR0ZSA9ICJiZXJsaW4iLCBiZWdpbiA9IDAuMSwgZW5kID0gMSkKCmdnc2F2ZShoZXJlKCJwbG90cyIsICJiZWhhdmlvdXJhbF9tZWFzdXJlcyIsICJjb3JyZWxhdGlvbnMucGRmIiksIHAsIHdpZHRoID0gOSwgaGVpZ2h0ID0gOSkKZ2dzYXZlKGhlcmUoInBsb3RzIiwgImJlaGF2aW91cmFsX21lYXN1cmVzIiwgImNvcnJlbGF0aW9ucy5wbmciKSwgcCwgYmcgPSAid2hpdGUiLCB3aWR0aCA9IDksIGhlaWdodCA9IDkpCmBgYAoKCiMgQ29ycmVsYXRpb25zIHdpdGggbmV0d29yayBjb25uZWN0aXZpdHkKCmBgYHtyIGVudHJvcHl9CmdncGxvdChjb3JyZWxhdGlvbnMsIGFlcyh4ID0gZW50cm9weV9jb25uLCB5ID0gZW50cm9weV9iZWhhdiwgY29sb3VyID0gIjEiLCBmaWxsID0gIjEiKSkgKwogIGdlb21fcG9pbnQoYWVzKHNpemUgPSBhYnMoZW50cm9weV9iZWhhdikpLCBzaG93LmxlZ2VuZCA9IEZBTFNFLCBzaGFwZSA9IDE4KSArCiAgZ2VvbV9zbW9vdGgobWV0aG9kID0gImxtIiwgc2hvdy5sZWdlbmQgPSBGQUxTRSkgKwogIHRoZW1lX25wb3IoKSArCiAgbGFicygKICAgIHggPSAiIiwgeSA9ICIiCiAgKSArCiAgc2NhbGVfZmlsbF9tYW51YWwodmFsdWVzID0gYygiMSIgPSBucG9yX2NvbG91cnMkZW50cm9weSkpICsKICBzY2FsZV9jb2xvdXJfbWFudWFsKHZhbHVlcyA9IGMoIjEiID0gbnBvcl9jb2xvdXJzJGVudHJvcHkpKSArCiAgdGhlbWUocGFuZWwuZ3JpZC5tYWpvci55ID0gZWxlbWVudF9ibGFuaygpKSArCiAgc2NhbGVfc2l6ZShyYW5nZSA9IGMoMSwgNykpCmdnc2F2ZShoZXJlKCJwbG90cyIsICJjb3JyZWxhdGlvbnNfYmVoYXZfY29ubiIsICJlbnRyb3B5X25ldHdvcmsucGRmIiksIHdpZHRoID0gNCwgaGVpZ2h0ID0gNCkKYGBgCgpgYGB7ciBHfQpnZ3Bsb3QoY29ycmVsYXRpb25zLCBhZXMoeCA9IEdfY29ubiwgeSA9IEdfYmVoYXYsIGNvbG91ciA9ICIxIiwgZmlsbCA9ICIxIikpICsKICBnZW9tX3BvaW50KGFlcyhzaXplID0gYWJzKEdfYmVoYXYpKSwgc2hvdy5sZWdlbmQgPSBGQUxTRSwgc2hhcGUgPSAxOCkgKwogIGdlb21fc21vb3RoKG1ldGhvZCA9ICJsbSIsIHNob3cubGVnZW5kID0gRkFMU0UpICsKICB0aGVtZV9ucG9yKCkgKwogIGxhYnMoCiAgICB4ID0gIiIsIHkgPSAiIgogICkgKwogIHNjYWxlX2ZpbGxfbWFudWFsKHZhbHVlcyA9IGMoIjEiID0gbnBvcl9jb2xvdXJzJEcpKSArCiAgc2NhbGVfY29sb3VyX21hbnVhbCh2YWx1ZXMgPSBjKCIxIiA9IG5wb3JfY29sb3VycyRHKSkgKwogIHRoZW1lKHBhbmVsLmdyaWQubWFqb3IueSA9IGVsZW1lbnRfYmxhbmsoKSkgKwogIHNjYWxlX3NpemUocmFuZ2UgPSBjKDEsIDcpKQpnZ3NhdmUoaGVyZSgicGxvdHMiLCAiY29ycmVsYXRpb25zX2JlaGF2X2Nvbm4iLCAiR19uZXR3b3JrLnBkZiIpLCB3aWR0aCA9IDQsIGhlaWdodCA9IDQpCmBgYAoKYGBge3IgYmluYXJ5LXRlcm5hcnl9CmdncGxvdChjb3JyZWxhdGlvbnMsIGFlcyh4ID0gYmluYXJ5X3Rlcm5hcnlfY29ubiwgeSA9IGJpbmFyeV90ZXJuYXJ5X2JlaGF2LCBjb2xvdXIgPSAiMSIsIGZpbGwgPSAiMSIpKSArCiAgZ2VvbV9wb2ludChhZXMoc2l6ZSA9IGFicyhiaW5hcnlfdGVybmFyeV9iZWhhdikpLCBzaG93LmxlZ2VuZCA9IEZBTFNFLCBzaGFwZSA9IDE4KSArCiAgZ2VvbV9zbW9vdGgobWV0aG9kID0gImxtIiwgc2hvdy5sZWdlbmQgPSBGQUxTRSkgKwogIHRoZW1lX25wb3IoKSArCiAgbGFicygKICAgIHggPSAiIiwgeSA9ICIiCiAgKSArCiAgc2NhbGVfZmlsbF9tYW51YWwodmFsdWVzID0gYygiMSIgPSBucG9yX2NvbG91cnMkYmluYXJ5X3Rlcm5hcnkpKSArCiAgc2NhbGVfY29sb3VyX21hbnVhbCh2YWx1ZXMgPSBjKCIxIiA9IG5wb3JfY29sb3VycyRiaW5hcnlfdGVybmFyeSkpICsKICB0aGVtZShwYW5lbC5ncmlkLm1ham9yLnkgPSBlbGVtZW50X2JsYW5rKCkpICsKICBzY2FsZV9zaXplKHJhbmdlID0gYygxLCA3KSkKZ2dzYXZlKGhlcmUoInBsb3RzIiwgImNvcnJlbGF0aW9uc19iZWhhdl9jb25uIiwgImJpbmFyeV90ZXJuYXJ5X25ldHdvcmsucGRmIiksIHdpZHRoID0gNCwgaGVpZ2h0ID0gNCkKYGBgCgpgYGB7ciBiaW5hcnktdGVybmFyeS1zdHJ1Y3R9CmdncGxvdChjb3JyZWxhdGlvbnMsIGFlcyh4ID0gYmluYXJ5X3Rlcm5hcnlfc3RydWN0LCB5ID0gYmluYXJ5X3Rlcm5hcnlfYmVoYXYsIGNvbG91ciA9ICIxIiwgZmlsbCA9ICIxIikpICsKICBnZW9tX3BvaW50KGFlcyhzaXplID0gYWJzKGJpbmFyeV90ZXJuYXJ5X2JlaGF2KSksIHNob3cubGVnZW5kID0gRkFMU0UsIHNoYXBlID0gMTgpICsKICBnZW9tX3Ntb290aChtZXRob2QgPSAibG0iLCBzaG93LmxlZ2VuZCA9IEZBTFNFKSArCiAgdGhlbWVfbnBvcigpICsKICBsYWJzKAogICAgeCA9ICIiLCB5ID0gIiIKICApICsKICBzY2FsZV9maWxsX21hbnVhbCh2YWx1ZXMgPSBjKCIxIiA9IG5wb3JfY29sb3VycyRiaW5hcnlfdGVybmFyeSkpICsKICBzY2FsZV9jb2xvdXJfbWFudWFsKHZhbHVlcyA9IGMoIjEiID0gbnBvcl9jb2xvdXJzJGJpbmFyeV90ZXJuYXJ5KSkgKwogIHRoZW1lKHBhbmVsLmdyaWQubWFqb3IueSA9IGVsZW1lbnRfYmxhbmsoKSkgKwogIHNjYWxlX3NpemUocmFuZ2UgPSBjKDEsIDcpKQpnZ3NhdmUoaGVyZSgicGxvdHMiLCAiY29ycmVsYXRpb25zX2JlaGF2X2Nvbm4iLCAiYmluYXJ5X3Rlcm5hcnlfc3RydWN0LnBkZiIpLCB3aWR0aCA9IDQsIGhlaWdodCA9IDQpCmBgYAoKCiMgRml4ZWwtYmFzZWQgYW5hbHlzaXMgKGlzb2Nocm9ueSB2cy4gcGFydGlhbCByZXNpZHVhbHMpCgpgYGB7ciBmaXhlbC1iYXNlZH0KcmVzdWx0cyA8LSByZWFkLmNzdihoZXJlKCJkYXRhIiwgImJyYWluIiwgImZpeGVsIiwgImNvcnRpY2FsX3N1YmNvcnRpY2FsX3JlZ3Jlc3Npb24uY3N2IikpCmJlaGF2IDwtIHBwLm1lYXN1cmVzW3BwLm1lYXN1cmVzJGNvbmRpdGlvbiA9PSAiNjAwXzUiICYgIXBwLm1lYXN1cmVzJHBwX2lkX2JlaGF2ICVpbiUgYygzMCwgNDUpLCBdCgojIENyZWF0ZSBEYXRhRnJhbWUKZml4ZWwgPC0gZGF0YS5mcmFtZSgKICAicHBfaWRfYmVoYXYiID0gYmVoYXYkcHBfaWRfYmVoYXYsCiAgImlzb2Nocm9ueV9pbnRyb2R1Y2VkIiA9IGJlaGF2JGlzb2Nocm9ueV9pbnRyb2R1Y2VkLAogICJzdHJpYWxfcHJlY2VudHJhbCIgPSByZXN1bHRzJFNUX1BSRUNfZmQsCiAgInRoYWxhbXVzX3ByZWNlbnRyYWwiID0gcmVzdWx0cyRUX1BSRUNfZmQKKQoKZ2dwbG90KGZpeGVsLCBhZXMoeCA9IHN0cmlhbF9wcmVjZW50cmFsLCB5ID0gaXNvY2hyb255X2ludHJvZHVjZWQsIGNvbG91ciA9ICIxIiwgZmlsbCA9ICIxIikpICsKICBnZW9tX3BvaW50KCwgc2hvdy5sZWdlbmQgPSBGQUxTRSkgKwogIGdlb21fc21vb3RoKG1ldGhvZCA9ICJsbSIsIHNob3cubGVnZW5kID0gRkFMU0UpICsKICB0aGVtZV9ucG9yKCkgKwogIGxhYnMoCiAgICB4ID0gIiIsIHkgPSAiIgogICkgKwogIHNjYWxlX2NvbG91cl9tYW51YWwodmFsdWVzID0gYygiMSIgPSBucG9yX2NvbG91cnMkaXNvY2hyb255KSkgKwogIHNjYWxlX2ZpbGxfbWFudWFsKHZhbHVlcyA9IGMoIjEiID0gbnBvcl9jb2xvdXJzJGlzb2Nocm9ueSkpICsKICB0aGVtZShwYW5lbC5ncmlkLm1ham9yLnkgPSBlbGVtZW50X2JsYW5rKCkpCgpnZ3NhdmUoaGVyZSgicGxvdHMiLCAiZml4ZWwiLCAiaXNvY2hyb255X3N0cmlhbF9wcmVjZW50cmFsLnBkZiIpLCB3aWR0aCA9IDQsIGhlaWdodCA9IDQpCgpnZ3Bsb3QoZml4ZWwsIGFlcyh4ID0gdGhhbGFtdXNfcHJlY2VudHJhbCwgeSA9IGlzb2Nocm9ueV9pbnRyb2R1Y2VkLCBjb2xvdXIgPSAiMSIsIGZpbGwgPSAiMSIpKSArCiAgZ2VvbV9wb2ludChzaG93LmxlZ2VuZCA9IEZBTFNFKSArCiAgZ2VvbV9zbW9vdGgobWV0aG9kID0gImxtIiwgc2hvdy5sZWdlbmQgPSBGQUxTRSkgKwogIHRoZW1lX25wb3IoKSArCiAgbGFicygKICAgIHggPSAiIiwgeSA9ICIiCiAgKSArCiAgc2NhbGVfY29sb3VyX21hbnVhbCh2YWx1ZXMgPSBjKCIxIiA9IG5wb3JfY29sb3VycyRpc29jaHJvbnkpKSArCiAgc2NhbGVfZmlsbF9tYW51YWwodmFsdWVzID0gYygiMSIgPSBucG9yX2NvbG91cnMkaXNvY2hyb255KSkgKwogIHRoZW1lKHBhbmVsLmdyaWQubWFqb3IueSA9IGVsZW1lbnRfYmxhbmsoKSkKCmdnc2F2ZShoZXJlKCJwbG90cyIsICJmaXhlbCIsICJpc29jaHJvbnlfdGhhbGFtdXNfcHJlY2VudHJhbC5wZGYiKSwgd2lkdGggPSA0LCBoZWlnaHQgPSA0KQpgYGAK